
.form-button {
  display: inline-block;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  background: $backgroundDefault;
  border: 1px solid $borderBase;
  color: $fontRegular;
  -webkit-appearance: none;
  text-align: center;
  box-sizing: border-box;
  outline: none;
  margin: 0;
  transition: 0.1s;
  font-weight: 500;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  padding: 12px 20px;
  font-size: 14px;
  border-radius: 4px;
  &:hover,
  &:focus {
    color: $primary;
    border-color: $borderDefault;
    background-color: $primaryPlain;
  }
  &-- {
    &primary {
      color: #fff;
      background-color: $primary;
      border-color: $primary;
      &:hover,
      &:focus {
        background: $primaryHover;
        border-color: $primaryHover;
        color: #fff;
      }
      .is-plain {
        color: $primary;
        background: $primaryPlain;
        border-color: $borderPrimary;
        &:hover,
        &:focus {
          color: #fff;
          background-color: $primary;
          border-color: $primary;
        }
      }
      .is-disabled,
      .is-disabled:active,
      .is-disabled:focus,
      .is-disabled:hover {
        color: #fff;
        background-color: $primaryDisabled;
        border-color: $primaryDisabled;
      }
    }
    &success {
      color: #fff;
      background-color: $success;
      border-color: $success;
      &:hover,
      &:focus {
        background: $successHover;
        border-color: $successHover;
        color: #fff;
      }
      .is-plain {
        color: $success;
        background: $successPlain;
        border-color: $borderSuccess;
        &:hover,
        &:focus {
          color: #fff;
          background-color: $success;
          border-color: $success;
        }
      }
      .is-disabled,
      .is-disabled:active,
      .is-disabled:focus,
      .is-disabled:hover {
        color: #fff;
        background-color: $successDisabled;
        border-color: $successDisabled;
      }
    }
    &info {
      color: #fff;
      background-color: $info;
      border-color: $info;
      &:hover,
      &:focus {
        background: $infoHover;
        border-color: $infoHover;
        color: #fff;
      }
      .is-plain {
        color: $info;
        background: $infoPlain;
        border-color: $borderInfo;
        &:hover,
        &:focus {
          color: #fff;
          background-color: $info;
          border-color: $info;
        }
      }
      .is-disabled,
      .is-disabled:active,
      .is-disabled:focus,
      .is-disabled:hover {
        color: #fff;
        background-color: $infoDisabled;
        border-color: $infoDisabled;
      }
    }
    &warning {
      color: #fff;
      background-color: $warning;
      border-color: $warning;
      &:hover,
      &:focus {
        background: $warningHover;
        border-color: $warningHover;
        color: #fff;
      }
      .is-plain {
        color: $warning;
        background: $warningPlain;
        border-color: $borderWarning;
        &:hover,
        &:focus {
          color: #fff;
          background-color: $warning;
          border-color: $warning;
        }
      }
      .is-disabled,
      .is-disabled:active,
      .is-disabled:focus,
      .is-disabled:hover {
        color: #fff;
        background-color: $warningDisabled;
        border-color: $warningDisabled;
      }
    }
    &danger {
      color: #fff;
      background-color: $danger;
      border-color: $danger;
      &:hover,
      &:focus {
        background: $dangerHover;
        border-color: $dangerHover;
        color: #fff;
      }
      .is-plain {
        color: $danger;
        background: $dangerPlain;
        border-color: $borderDanger;
        &:hover,
        &:focus {
          color: #fff;
          background-color: $danger;
          border-color: $danger;
        }
      }
      .is-disabled,
      .is-disabled:active,
      .is-disabled:focus,
      .is-disabled:hover {
        color: #fff;
        background-color: $dangerDisabled;
        border-color: $dangerDisabled;
      }
    }
    &small {
      padding: 9px 15px;
      font-size: 12px;
      border-radius: 3px;
    }
    &medium {
      padding: 10px 20px;
      font-size: 14px;
      border-radius: 4px;
    }
    &mini {
      padding: 7px 15px;
      font-size: 12px;
      border-radius: 3px;
    }
    &text {
      border-color: transparent;
      color: $primary;
      background: transparent;
      padding-left: 0;
      padding-right: 0;
    }
  }

  & + .form-button {
    margin-left: 10px;
  }
  .is-round {
    border-radius: 20px;
    padding: 12px 23px;
  }
}